package com.itheima.service.mongo;

import com.itheima.domain.mongo.Movement;
import com.itheima.domain.vo.PageBeanVo;
import org.bson.types.ObjectId;

public interface MovementService {

    //保存动态
    ObjectId saveMovement(Movement movement);

    //查询个人的动态信息
    PageBeanVo findMyMovement(Integer pageNumber, Integer pageSize, Long userId);

    //查询好友的动态信息
    PageBeanVo findFriendMovements(Integer pageNumber, Integer pageSize, Long userId);

    //查询推荐的动态
    PageBeanVo findRecommendMovement(Long userId, Integer pageNumber, Integer pageSize);

    //根据id查询动态详情
    Movement findMovementById(String movementId);

    //分页查询动态数据
    PageBeanVo findMovementsByUserIdAndState(Integer pageNumber, Integer pageSize, Long uid, Integer stateInt);

    //修改动态
    void updateMovement(Movement movement);

    //根据动态id和option操作类型进行审核操作
    Boolean auditMovementIfPass(String movementId, Boolean option);
}
